package bean;

import java.io.Serializable;
import java.util.Date;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import br.com.biblioteca.interfaces.GerenciadorDeComentario;
import br.com.biblioteca.interfaces.GerenciadorDeLivro;
import br.com.biblioteca.model.Comentario;
import br.com.biblioteca.model.Livro;

@ManagedBean
@SessionScoped
public class DetalheLivroBEAN implements Serializable {
	
	private static final long serialVersionUID = 1L;
	@EJB
	private GerenciadorDeComentario gerenciadorDeComentario;
	@EJB
	private GerenciadorDeLivro gerenciadorDeLivro;
	
	private Livro livro;
	private Comentario comentario;

	
	public DetalheLivroBEAN() {
		comentario = new Comentario();
	}
	
	public String addComentario(){
		LoginBEAN loginBean = (LoginBEAN) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("loginBEAN");
		comentario.setUsuario(loginBean.getUser());
		comentario.setLivro(livro);
		comentario.setPostagem(new Date());
		gerenciadorDeComentario.adicionarComentario(comentario);
		livro.getComentario().add(comentario);
		comentario = new Comentario();
		return "";
	}
	public Livro getLivro() {
        livro.setComentario(gerenciadorDeComentario.getComentarios(livro));
		return livro;
	}
	
	public void setLivro(Livro livro) {
		this.livro = livro;
	}

	public Comentario getComentario() {
		return comentario;
	}
	
	public void setComentario(Comentario comentario) {
		this.comentario = comentario;
	}
	
	

}
